为您找到与potplayer 32位下载相关的共12个结果:
【关键词】浅针围刺法;原发性面肌痉挛;疗效
原发性面肌痉挛(FS)治疗方法较多,但疗效都不佳。笔者采用浅针围刺法治疗32例,并与常规疗法进行比较。
两组治疗结果见表1、表2。表1 两组临床疗效比较与对照组比较:1)P<0.05表2 两组治疗前后痉挛波振幅及频率变化比较与本组治疗前比较:1)P<0.05,2)P<0.01;组间比较:3)P<0.05
浏览量:2
下载量:0
时间:
浏览量:3
下载量:0
时间:
浏览量:3
下载量:0
时间:
浏览量:2
下载量:0
时间:
浏览量:2
下载量:0
时间:
浏览量:2
下载量:0
时间:
浏览量:3
下载量:0
时间:
浏览量:2
下载量:0
时间:
现代人的商业模式应用到具有传统意味的街区巷道中来,让人们从小街巷中回忆曾经的岳阳风貌,构建当代价值取向和现代尺度、当代模式的商业形态。
浏览量:2
下载量:0
时间:
学生将填写的开题报告交指导教师进行审查。审查的内容包括:一是看是否按要求写好了开题报告中规定的所有栏目,格式是否规范;二是初步审查选题是否符合公布的选题范围和专业要求以及选题的思想性、新颖性、时代性、开创性;三是看选题的难易程度是否与学生的文化知识水平与专业基础理论相匹配;四是看学生完成毕业论文是否具备相应的资源条件和可能遇到的困难;五是看指导教师本身对选题的熟悉程度和指导好论文写作有把握的程度。对在审查过程中发现的小问题或只需作局部调整的问题,一般采取电话或网络与学生进行交流,适时提出修改意见;对于问题比较多或需要重写的开题报告,就与学生直接面谈,提出指导教师的具体看法。
浏览量:3
下载量:0
时间:
uC/OS-III(Micro C OS Three 微型的C 语言编写的操作系统第3版)是一个可升级的,可固化的,基于优先级的实时内核。它对任务的个数无限制。uC/OS-III 是一个第3 代的系统内核,支持现代的实时内核所期待的大部分功能。例如资源管理,同步,任务间的通信等等。然而,uC/OS-III 提供的特色功能在其它的实时内核中是找不到的,比如说完备的运行时间测量性能,直接地发送信号或者消息到任务,任务可以同时等待多个内核对象等。以下是读文网小编为大家精心准备的:浅谈基于STM32的μCOS-Ⅲ系统移植的设计相关论文。内容仅供参考,欢迎阅读!
随着人类社会经济的不断发展,科研领域不断的拓宽,嵌入式系统产品渐渐完善,并在全世界各行业得到广泛应用。通过移植嵌入式操作系统,计算机可以更好的管理内存,并且在很大程度上实现了系统的实时性。μCOS-Ⅲ作为一个微型实时操作系统,包括了一个操作系统最基本的特性,使用汇编语言和C 语言编写的μCOS-Ⅲ的构思巧妙,结构简洁精炼,可读性很强,作为一个源码开放的嵌入式操作系统,用户只要做很少的工作就可以把它进行移植和维护。
1.1 实时操作系统μCOS-Ⅲ
μCOS-Ⅲ的前身是由美国嵌入式系统专家Jean J.Labrosse 于1992 年推出的嵌入式操作系统μCOS,经过了不断的完善和扩充,形成现在的μCOS-Ⅲ。
μCOS-Ⅲ是一个可以基于ROM 运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性。所谓的移植,在一个平台环境能够成功运行的程序,将它搬运到另一个平台环境,并且使其成功运行。发展至今的μCOS-Ⅲ,特别适合于微处理器和控制器,并且已经移植到近40 多种处理器体系上,涵盖了从8 位到64 位的各种CPU。
μCOS-Ⅲ源码可分为:与应用程序相关的文件、与计算机硬件相关的文件和系统内核的各种服务文件。用户在移植时,需要对与计算机硬件相关的文件进行修改:如OS_CPU.H 文件,OS_CPU_A.ASM 文件和OS_CPU_C.C 文件。而系统内核的各种文件,如:OS_CORE.C、OS_FLAG.C、OS_MBOX.C、OS_MUTEX.C 等,与应用程序相关的文件: INCLUDES.H 和OS_CFG.H 则不需要修改。
1.2 STM32 处理器
STM32 系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3 内核。我们所采用的STM32F103 型,其内核为ARM32 位Cortex -M3 CPU, 最高工作频率72MHz,1.25DMIPS/MHz。ECOPACK 封装,最多高达112 个的快速I/O 端口,最多多达11 个定时器,最多多达13 个通信接口,具有3 种模式:休眠,停止,待机模式的低功耗,可以使其广泛的应用于工业控制、医疗系统、访问控制等。
ST 公司针对STM32 提供了STM32 库作为函数接口,使得开发人员得以脱离最底层的寄存器操作,有开发快速、易于阅读、维护成本低等优点。
2.1 修改OS_CPU.H 文件
μCOS-Ⅲ的内核使用一个周期时钟中断,以计算任务延时时间和进行任务调度,在STM32 中,这样的时钟中断正适合由SysTick来提供。因为OS_CPU_SysTickHandler()函数与STM32 库所提供的stm32F10x_it.c 文件中的SycTick_Handler()函数功能一样,都是使用SysTick 的中断处理,所以我们采用SycTick_Handler()函数。因此,相应的对于OS_CPU.H 文件的操作是:注释掉OS_CPU_SysTickHandler()和OS_SysTickInit()函数的声明。
2.2 修改OS_CPU_C.C
OS_CPU_SysTickHandler()和OS_CPU_SysTickInit()函数的定义在OS_CPU_C.C 文件中,由于我们采用了STM32 官方库提供的函数来对SysTick 进行中断处理,所以我们要把OS_CPU_C.C 的OS_CPU_SysTickHandler()和OS_CPU_SysTickInit()这两个函数注释掉。
2.3 修改OS_CPU_A.ASM 文件
我们下载的μCOS-Ⅲ移植工程是在官方的IAR 编译环境下建立的,IAR 在汇编的语法方面和我们使用的MDK 编译器有一点区别,所有我们对汇编文件的部分指令做如下修改:在OS_CPU_A.ASM 文件中,将原来的PUBLIC 指令改为EXPORT,它们是等价的。
2.4 修改CPU_A.ASM 文件
在CPU_A.ASM 汇编文件中,仍有因编译环境的不同而引起的错误,修改的方法同修改OS_CPU_A.ASM 文件一样,将原来的PUBLIC 指令改为EXPORT。除此之外,在CPU_A.ASM 文件中某些标号带有冒号,如“CPU_CntLeadZeros:”、“CPU_RevBits:”、“CPU_WaitForInt:”和“CPU_WaitForExpect:”,为了适应编译环境,需要将其中的冒号去掉。
2.5 修改STM32F10X_IT.C 文件
为了实现和完成完整的中断,我们需要将STM32F10X_IT.C 文件原有的PendSV_Handler 空函数注释掉,同时编写SysTick 中断服务函数。
我们可以看到,在SysTick 的函数中调用了3 个函数,它们都是μCOS 源码定义的函数,其基本功能如下:
(1)OSIntEnter () 函数, 对用于表示中断嵌套层的变量OSIntNesting 加1,它与OSIntExit()函数成对出现,在进入中断服务函数时,都应该包含这两个函数,中断服务的内容位于这两个函数之间。
(2)OSIntExit()函数,除了对嵌套层数OSIntNesting 减1 表示退出中断外,还具有任务调度功能。
(3)OSTimeTick()函数主要工作是对系统统计事件的变量OSTime加1,另外,它还会遍历所有任务,对延时任务的时间减1。
至此,我们对μCOS 的源码针对编译环境做了修改,将SysTick中断修改到STM32 所提供的STM32F10X_IT.C 文件后,就基本完成了μCOS 的移植了。
我们现在需要对移植好的代码做一个简单的测试,通过编写流水灯任务来验证移植的成功。流水灯任务的部分代码如表3:运行后我们发现实验板的流水灯按照循环的方式一直闪烁,验证了μCOS-Ⅲ在STM32 处理器核上的成功移植。
作为一个成熟的嵌入式操作系统,μCOS-Ⅲ已经被广泛移植于各种体系的微型处理器上了。在嵌入式技术高速发展的今天,基于ARM 为内核的微处理器凭借ARM 优秀的体系结构被运用于各种行业。通过研究μCOS-Ⅲ的移植,可以使得它在更广泛的平台得到应用,更促进嵌入式技术的发展。
【浅谈基于STM32的μCOS-Ⅲ系统移植的设计】相关
浏览量:2
下载量:0
时间:
远程遥控技术又称为遥控技术,是指实现对被控目标的遥远控制,在工业控制、航空航天、家电领域应用广泛。红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。以下是读文网小编为大家精心准备的:浅谈基于stm32实现的红外遥控控制USB鼠标相关论文。内容仅供参考,欢迎阅读!
加快嵌入式技术的开发应用,掌握嵌入式开发核心技术,对于未能赶上前几次世界范围计算机技术发展机遇的中国来说非常重要。基于STM32 实现的红外遥控控制USB 鼠标就是利用STM32 的中断系统将各模块相互连接。当STM32 捕获到信号时,向CUP 发送中断请求,然后响应该中断,对中断进行处理。STM32 通过识别捕获到的红外信号向PC 端通过USB 协议发送鼠标控制信号。
在STM32 中,外部中断可由每一个I/O 口进行外部事件的中断触发。在中断控制器支持的19 个外部中断事件中,只有线0 至15 对应外部I/O 的输入中断,线16 则连接到PVD 的输出,线17 连接到RTC 的闹事件,线18 连接到USB 的唤醒时事件。在主程序运行之前,需要先进行中断初始化,包括使能中断通道、中断优先级分组初始化、配置中断线。当有多个中断时,CUP 处理中断时严格按照中断优先级分组来决定处理哪个中断。中断优先级分为抢占优先级和子优先级,中断处理的顺序先有抢占优先级决定,当抢占优先级相同时,则由子优先级决定。
STM32 的通用定时器是一个通过可编程预分频器(PSC)驱动的16 位自动装载计数器(CNT)构成。在这次开发中,STM32 的通用定时器主要用于测量输入信号的脉冲长度即输入捕获。当输入捕获发生时将产生中断/DMA。当从独立通道中捕获到外界信号时,定时器将测量外界信号的周期、占空比来实现信号的识别。例如,在测量时,定时器设置为边沿触发,即定时器会计算信号上升沿和下降沿之间的时间差,其计算精度取决于定时器本身频率的精度。在测量方法中分为测频法和测周法,当被测信号频率大于中介频率时采用测频法,即在STM32 中采用测频法。
红外遥控是通过红外发射信号的过程,在遥控器上不同的按键所发射的信号是不同的,这样在接受端才能区别按键。红外是不能穿墙的,但红外遥控器也有无线电遥控器无法比拟的优点—在多个红外遥控器同时使用时,尽管采用相同的遥控频率或编码,但不会出现遥控信号“串门”的情况。
在一点在家电中运用非常广泛。在STM32 中,我们使用的红外遥控器编码方式为PWM(脉冲宽度调制)的NEC 协议。其特征为:8 位地址和8 位指令长度;地址和命令2 次传输(确保可靠性);PWM 脉冲位置调制,以发射红外载波的占空比代表“0”和“1”;载波频率为38Khz;位时间为1.125ms 或2.25ms。不同的逻辑和位码采用了不同时间间隔的红外高低脉冲。地址码和控制码等都采用8 位的数据格式,且用反码表示以增加传输的可靠性。
在主程序中,首先要完成STM32 的延时函数、中断分组设置、串口初始化、红外接受初始化、USB 配置及初始化,其次就是while循环部分,这部分是最核心、最主要的一部分。在while(1)的死循环中,首先对遥控器的按键进行监控扫描。遥控器上的每一个按键都对应一个独一无二的键值key。通过函数Remote_Scan()进行按键监控扫描,若没有检测到按键,则键值key 为假,若检测到遥控器有按键,则获取相应的键值并保存到key 中,并通过switch(key)对不同的key 进行不同的处理。对相应key 值的处理实际上就是准备要发送的控制鼠标的数据。
如何对相应的key 值经行数据处理呢,在这里,就要先了解它的发送数据的函数Joystick_Send(a,b,c,d)。参数a 是一个八位的数据,a 的不同位置1 分别代表鼠标中键按下、右键按下、左键按下、xy 坐标的变化量和变化符号(光标移动方向)等。参数b 表示x 坐标的变化量,这个变化量是相对上一次坐标的变化量。
参数c 表示y 坐标的变化量,同理为相对变化量。参数d 为滚轮的变化,可以控制滚轮的上下滚动和滚动速率。这里要介绍一下电脑的坐标系,电脑的坐标系不同于一般的直角坐标系。电脑坐标以屏幕左上角为原点,水平向右为x 轴正方向,竖直向下为y 轴正方向。了解了数据发送函数,就可以经行数据准备了。例如接受的键值key代表鼠标左键按下,则设置参数a 的相应位;若key 代表鼠标右移,则设置参数b 为相应整数;若key 代表鼠标滚轮上滚,则设置参数d。
理论上讲,这样的数据处理已经比较完美了,可在实际使用中会发现另外一个问题,就是鼠标移动灵敏度的问题。这时需要定义另外一个参数s 代表灵敏度,在发送坐标数据b 和c 时,改为发送b*s 和c*s,这样就可以相应地扩大或减小鼠标灵敏度了。当发送完数据后,需要将b、c、d 数据清0。以上的处理在检测到键值key 的情况下,当没有检测到键值的情况下,若之前有键按下,则需发送松开命令,即将a 置为0。
以上的整个过程都处在while(1)的死循环中,这样的话,当鼠标长时间没有移动的时候就会造成资源浪费。这里提供一个解决思路:当鼠标在一定时间内没有任何触发信号产生时,可认为此时之后的很长一段时间内都不会有信号产生,可将STM32 设置为休眠状态。当有触发信号产生时,可先用该触发信号将STM32从休眠状态唤醒,当程序正常执行时,再处理该信号(当然,也可以直接将该信号丢弃)。
基于STM32 实现的红外遥控控制USB 鼠标旨在研究嵌入式系统的原理及系统设计。在本次的开发中涉及到嵌入式特别重要的定时器、中断等概念,将书本知识运用于实际,注重基础知识,为以后嵌入式开发奠定良好基础。
浏览量:2
下载量:0
时间: